package cn.uin.api.dto.response.auth;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName UserInfoDTO
 * @Description:类描述
 * @Author: Administrator
 * @CreateDate: 2025/10/20 9:26
 * @Version: 1.0
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserInfoResponseDTO {

	/** 用户名 */
	private String username;

	/** 手机号 */
	private String phone;

	/** 邮箱 */
	private String email;

	/** 状态(0:启用,1:禁用) */
	private Integer status;

	/** 角色 */
	private List<HomeRole> roles = new ArrayList<>();

	/** 菜单 */
	private List<HomeMenu> menus = new ArrayList<>();

	/**
	 * 角色信息
	 */
	@Data
	@Builder
	@AllArgsConstructor
	@NoArgsConstructor
	public static class HomeRole {
		/** 主键ID */
		private Long id;

		/** 角色名称 */
		private String roleName;

		/** 角色编码 */
		private String roleCode;

		/** 描述 */
		private String desc;
	}

	/**
	 * 菜单信息
	 */
	@Data
	@Builder
	@AllArgsConstructor
	@NoArgsConstructor
	public static class HomeMenu {
		/** 菜单名称 */
		private String menuName;

		/** 菜单编码 */
		private String menuCode;

		/** 图标 */
		private String icon;

		/** 排序 */
		private Integer order;
	}

}
